1. Field of the Invention
The present invention relates to computer programming, and deals more particularly with techniques for evaluating gathered measurement data pertaining to business processes, where a result of this evaluation may be used (for example) to provide autonomic management in service level management systems (where the autonomic management may be in terms of objectives pertaining to customer service level agreements).
2. Description of the Related Art
Service level agreements, or “SLAs”, are commonly used by service providers to define their contractual service obligations to their customers. For a network service provider, these service obligations typically include network response time commitments, whereby the customer is guaranteed that requests for various types of network-accessible services will be completed within some average elapsed time and/or within some maximum elapsed time. Service obligations also typically include availability commitments for resources (including network-accessible services). If the service obligations are not met, the customer might be entitled to compensation such as a reduction in the fees owed to the service provider. Service providers are therefore highly motivated to meet the commitments in their SLAs.
Service level management techniques are not limited to use with providers of network services. In general, any type of business process may be subject to an SLA. For example, if a supplier provides widget components to be used by a widget assembler, the widget assembler may place constraints on maximum allowable delivery time between sending an order for widget components to the supplier and receiving the ordered widget components. As another example, an SLA between the widget component supplier and assembler might specify a maximum percentage of the supplied widget components that can be defective without violating the SLA.
Data pertaining to various business processes in the system must be collected in order to determine whether SLA commitments are being met. The term “service level management system”, or “SLMS”, is used herein to refer generally to a collection of elements or components that are organized for carrying out a business process at some level. In a network service provider environment, for example, the elements typically comprise a number of hardware and/or software elements that enable customers to use network-accessible services. The term “measurement data” is used herein in a general sense to refer to the data collected in an SLMS for evaluation of monitored business processes.
It is desirable to use collected measurement data to make predictions about future system behavior. Without accurate predictions for demand and processing load, for example, service providers are often forced to choose between providing excess capacity when provisioning resources for their customers or refunding fees when the provisioned capacity is unable to meet the SLA commitments.
Much attention has been given in recent years to development of autonomic computing techniques, whereby the maintenance and administrative complexity inherent in information technology (“IT”) systems and networks can be reduced by employing algorithms that allow the systems and networks to not only monitor themselves, but to take corrective actions when anomalies are detected. An autonomic system is commonly defined as one which displays one or more of the following characteristics: (1) self-defining; (2) self-configuring; (3) self-optimizing; (4) self-healing; (5) self-protecting; (6) anticipatory; and (7) contextually aware in a heterogeneous environment. (These concepts are known in the art; accordingly, a detailed description thereof is not deemed necessary to an understanding of the present invention.)
The interaction among business processes can be complex. Evaluating the business processes to determine whether SLA commitments (or similar objectives) are being met is complex as well. What is needed are techniques for analyzing business processes in an efficient manner.